package pl.uz.zgora.plan;

import java.util.Comparator;

import org.ksoap2.serialization.SoapObject;

public class Kierunek {
	private Integer idKierunku;
	private String nazwa;
	
	public Kierunek(){}
	
	public Kierunek(final int idKierunku, final String nazwa) {
		this.idKierunku = idKierunku;
		setNazwa(nazwa);
	}
	
	public Kierunek(final SoapObject kierunekSoapObj) {
		final Integer idKierunku = Integer.parseInt(kierunekSoapObj.getProperty("idKierunku").toString());
		setIdKierunku(idKierunku);
		
		final String nazwaKierunku = kierunekSoapObj.getProperty("nazwa").toString();
		setNazwa(nazwaKierunku);
	}
	
	public void setNazwa(String nazwa) throws IllegalArgumentException { 
		if(nazwa == null || nazwa.equals("")) { throw new IllegalArgumentException(); }
		this.nazwa = nazwa;
	}

	public Integer getIdKierunku() {
		return idKierunku;
	}

	public void setIdKierunku(final Integer idKierunku) {
		this.idKierunku = idKierunku;
	}

	public String getNazwa() {
		return nazwa;
	}
	
	public static Comparator<Kierunek> getComparator() {
		Comparator<Kierunek> comparator = new Comparator<Kierunek>() {

			public int compare(Kierunek lhs, Kierunek rhs) {
				return lhs.getNazwa().compareTo(rhs.getNazwa());
			}
			
		};
		return comparator;
	}
}
